import API from '@/services/api'
import {request, METHOD} from '@/utils/request'

/**
 * 查询组织机构树
 * @returns {Promise<AxiosResponse<T>>}
 */
export async function queryOrganizationTree() {
  return request(API.TERMINAL_QUERY_ORGANIZATION_TREE, METHOD.POST)
}

/**
 * 查询城市下拉列表
 * @returns {Promise<AxiosResponse<T>>}
 */
export async function queryCitySelect() {
  return request(API.TERMINAL_QUERY_CITY_SELECT, METHOD.POST)
}

/**
 * 查询终端分组下拉列表
 * @param params 请求参数
 * @returns {Promise<AxiosResponse<T>>}
 */
export async function queryGroupTreeSelect(params) {
  return request(API.TERMINAL_QUERY_GROUP_TREE_SELECT, METHOD.POST, params)
}

/**
 * 查询终端分组树
 * @param params 请求参数
 * @returns {Promise<AxiosResponse<T>>}
 */
export async function queryGroupTree(params) {
  return request(API.TERMINAL_QUERY_GROUP_TREE, METHOD.POST, params)
}

/**
 * 查询终端列表
 * @param params 请求参数
 * @returns {Promise<AxiosResponse<T>>}
 */
export async function queryList(params) {
  return request(API.TERMINAL_QUERY_LIST, METHOD.POST, params)
}

/**
 * 查询终端
 * @param params 请求参数
 * @returns {Promise<AxiosResponse<T>>}
 */
export async function query(params) {
  return request(API.TERMINAL_QUERY, METHOD.POST, params)
}

/**
 * 编辑终端
 * @param params 请求参数
 * @returns {Promise<AxiosResponse<T>>}
 */
export async function edit(params) {
  return request(API.TERMINAL_EDIT, METHOD.POST, params)
}

/**
 * 批量编辑终端
 * @param params 请求参数
 * @returns {Promise<AxiosResponse<T>>}
 */
export async function batchEdit(params) {
  return request(API.TERMINAL_BATCH_EDIT, METHOD.POST, params)
}

/**
 * 删除终端
 * @param params 请求参数
 * @returns {Promise<AxiosResponse<T>>}
 */
export async function del(params) {
  return request(API.TERMINAL_DELETE, METHOD.POST, params)
}

/**
 * 查询终端指令设置信息
 * @param params 请求参数
 * @returns {Promise<AxiosResponse<T>>}
 */
export async function queryCommandConfig(params) {
  return request(API.TERMINAL_QUERY_COMMAND_CONFIG, METHOD.POST, params)
}

/**
 * 发送消息
 * @param params 请求参数
 * @returns {Promise<AxiosResponse<T>>}
 */
export async function sendMessage(params) {
  return request(API.TERMINAL_SEND_MESSAGE, METHOD.POST, params)
}

/**
 * 查询终端音量设置
 * @param params 请求参数
 * @returns {Promise<AxiosResponse<T>>}
 */
export async function queryVolumeSetting(params) {
  return request(API.TERMINAL_QUERY_VOLUME_SETTING, METHOD.POST, params)
}

/**
 * 查询终端音量
 * @param params 请求参数
 * @returns {Promise<AxiosResponse<T>>}
 */
export async function queryVolume(params) {
  return request(API.TERMINAL_QUERY_VOLUME, METHOD.POST, params)
}

/**
 * 查询终端显示方式设置
 * @param params 请求参数
 * @returns {Promise<AxiosResponse<T>>}
 */
export async function queryDisplayTypeSetting(params) {
  return request(API.TERMINAL_QUERY_DISPLAY_TYPE_SETTING, METHOD.POST, params)
}

/**
 * 查询终端显示方式
 * @param params 请求参数
 * @returns {Promise<AxiosResponse<T>>}
 */
export async function queryDisplayType(params) {
  return request(API.TERMINAL_QUERY_DISPLAY_TYPE, METHOD.POST, params)
}

/**
 * 查询终端截屏
 * @param params 请求参数
 * @returns {Promise<AxiosResponse<T>>}
 */
export async function queryScreenshot(params) {
  return request(API.TERMINAL_QUERY_SCREENSHOT, METHOD.POST, params)
}

/**
 * 查询终端指令设置
 * @param params 请求参数
 * @returns {Promise<AxiosResponse<T>>}
 */
export async function queryCommandSetting(params) {
  return request(API.TERMINAL_QUERY_COMMAND_SETTING, METHOD.POST, params)
}

/**
 * 导出终端信息
 * @param params 请求参数
 * @returns {Promise<AxiosResponse<T>>}
 */
export async function exportTerminal(params) {
  return request(API.TERMINAL_EXPORT, METHOD.POST, params)
}

/**
 * 导入终端信息
 * @param params 请求参数
 * @returns {Promise<AxiosResponse<T>>}
 */
export async function importTerminal(params) {
  return request(API.TERMINAL_IMPORT, METHOD.POST, params)
}

export default {
  queryOrganizationTree,
  queryGroupTree,
  queryGroupTreeSelect,
  queryCitySelect,
  queryList,
  query,
  edit,
  batchEdit,
  del,
  exportTerminal,
  importTerminal,
  sendMessage,
  queryVolumeSetting,
  queryVolume,
  queryDisplayTypeSetting,
  queryDisplayType,
  queryScreenshot,
  queryCommandSetting
}
